Шаг 0. Подготовка данных

Из R мы имеем 2 дата фрейма. Первый — с ребрами, второй с частотой встречаемости каждой вершины (ее степенью). Нужно обработать каждый из них — привести теги к общему виду, после этого убрать, встречающиеся реже 50 раз, потом преобразовать список ребер.

На примере хэштега #Московскоедело

Вершины — Nodelist

Далее, пытаемся преобразовать теги.

Соберем это в датафрейм.

Сделаем словарь с частотой встречаемости каждого тега. Отрежем те, которые встречаются менее 50 раз. Сохранеим все, что получилось, в датафрейм.

Все, работа с вершинами закончена. По сути она была нужна только для того, чтобы отсеить реше всех встречающиемся вершины. Теперь отсюда нам нужна только первая колонка с названиями тегов + цвета.

Ребра — Edgelist

Пару слов о том, что из себя представляет эта таблица. Каждая строка = один пост из инстаграма, в котором встречается хэштег #Московскоедело. Точнее не сам пост, а именно теги из него. Собственно ребра будут построены комбинацией друг с другом тегов из каждого поста = получим кортежи.

Сначала преобразуме таблицу в более рабочее состоянее. Сделаем список, элементами которого будут строки из таблицы = списки (т.е. будет список кортежей) с уже преобразованными по вышеупомянутой "технологии" спопосбом.

Аналогичные шаги для тегов #Мосгордума и #Допускай. В итоге у нас будет 3 обработанных датафрейма.

На всякий случай все данные сохранила отдельно в архив. Осталось создать единый датафрейм.

Итоговый набор вершин с цветами.

Для #московскоедело #мосгордума и #допускай зададим отдельные цвета.

Шаг 1. Построение графа, визуализация и описание сети

Коллективно было принято решение рисовать 3D граф, ибо это 1) прикольно, 2) красиво, 3) можно вращать(!) Учебник - https://plot.ly/python/v3/3d-network-graph/

Шаг 2. Структурный анализ графа

Теперь с помощью алгоритма Cuthill-McKey изменим в порядок вершин в матрицах